package com.ityedao.数组;

import java.util.Random;
import java.util.Scanner;

public class RandomRanking {
    public static void main(String[] args) {
        /**
         * 需求
         * 某公司开发部5名开发人员，要进行项目进展汇报演讲，现在采取随机排名后进行汇报。
         * 请先依次录入5名员工的工号，然后展示出一组随机的排名顺序。
         */
        //1、在程序中录入5名员工的工号存储起来 ---> 使用数组。
        System.out.println("请输入员工工号：");
        int[] employeeNos = new int[5];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < employeeNos.length; i++) {
            employeeNos[i] = sc.nextInt();
        }
        System.out.println("员工工号：");
        for (int employeeNo : employeeNos) {
            System.out.println(employeeNo);
        }


        //2、依次遍历数组中的每个元素，随机一个索引数据，让当前元素与该索引位置处的元素进行交换。
        Random r = new Random();
        for (int j = 0; j < employeeNos.length; j++) {
            int RandomNoIndex = r.nextInt(employeeNos.length);
//            int RandomNo = employeeNos[RandomNoIndex];// 随机数据
            int tempNo = employeeNos[j];//当前数据先存起来，用作临时变量
            employeeNos[j] = employeeNos[RandomNoIndex];//把随机数据赋给当前位置的数据
            employeeNos[RandomNoIndex] = tempNo;// 根据随机生成的索引，把之前存下来的数据换到随机生成的数据的位置处
        }
        System.out.println("抽签顺序为：");
        for (int employeeNo : employeeNos) {
            System.out.println(employeeNo);
        }

    }
}
